// pages/shengyi/dx/dx.js
// ../../utils/util.js 
const util = require('../../../utils/util.js')
const app = getApp();
Component({

  /**
   * 组件的属性列表
   */
  properties: {
    // 滚动视图高度
    scrollViewH: {
      type: String,
      value: '100%'
    },
    // list默认首页列表, lianxi代表我联系过的列表
    typePage: {
      type: String,
      value: 'list'
    },
    // 我联系过
    myLianXiID: {
      type: String,
      value: ''
    },
    parentIndex: {
      type: String,
      value: ''
    },
    isClear: {
      type: Number,
      value: -1
    }
  },
  observers: {
    'myLianXiID': function (numberA) {
      this.setData({
        scrollTopY: 0
      })
      this.bindrefresherrefresh()
    },
    // 监听父视图顶部(独享，资产，拍卖切换的事件)
    'parentIndex': function (index) {
      // 这就相当于调用的下拉刷新
      if (index == 0) {
        this.setData({
          triggered: true,
          scrollTopY: 0
        })
      }
    },
    // 监听主控制器是否点击了clear
    'isClear': function (vlue) {
      // 判断!= -1是因为一进来，默认就执行=-1，
      // 这个监听是为了，一进来不让他执行，点击的时候再执行
      if (vlue != -1) {
        let that = this
        if (this.properties.parentIndex == 0) {
          wx.showModal({
            title: '清除未读生意',
            content: '确定要清除未读独享生意吗?',
            complete: (res) => {
              if (res.confirm) {
                that.weiduChangeYiDu()
              }
            }
          })
        }
      }
      
    }

  },
  lifetimes: {
    created: function () {
    },
    attached: function () {
      let typePage = this.properties.typePage
      if (typePage == 'list') {
        this.getDataListDx('')
      } else {
        this.getMyContent(1)
      }
    },
  },
  /**
   * 组件的初始数据
   */
  data: {
    dataArray: [],
    triggered: false,
    // 是否显示独享列表(1显示，0隐藏)
    isshow: 1,
    // 客服电话
    kefudh: '',
    // 记录上一个最后一条uid数据
    lastID: '',
    // 记录最后一个的lastItem数据
    lastItem: {},
    // 列表有更多数据,可以加载下一页默认
    listMore: true,
    // 点击查看联系方式获取的密文(已解密)
    errNum: {},
    // 联系方式弹框显示隐藏
    showLx: false,
    // 记录当前点击列表的dxid
    curretDxid: '',
    // 记录当前点击列表的item
    curretItem: {},
    // 记录当前点击列表的index
    curretItemIndex: '',
    // 记录是否是未读，如果是已读就隐藏，其它(未读，待标注，都要显示)
    showWD: true, // 默认未读
    // 不感兴趣弹框显示隐藏
    noxingquShow: false,
    // 不感兴趣加载更多，默认可以加载
    morePage: true,
    // 不感兴趣的页码
    page: '',
    // 标注显示隐藏
    showBZ: false,
    showBZNo: false,
    // 滚动视图置顶的高度
    scrollTopY: 0

  },

  /**
   * 组件的方法列表
   */
  methods: {
    // 未读改变成已读的接口
    weiduChangeYiDu() {
      let firstItem = this.data.dataArray[0]
      let parame = {
        loginuid: wx.getStorageSync('FjLoginLog').UID,
        infoid: firstItem.dxid,
        infotime: firstItem.fbdate,
        infotype: '3'
      }
      app.getDaoPostSearchNew('api/FeijiuApp/Feijiu_Business_OneClickRead_v2024', parame, (item) => {
        if (item.code == 200) {
          this.setData({
            triggered: true
          })
          app.tishi('清除成功')
        } else {
          app.tishi(item.message)
        }
      })

    },


    // 首页生意获取列表数据
    getDataListDx(lastID) {
      let parame = {
        loginuid: wx.getStorageSync('FjLoginLog').UID,
        lastid: lastID
      }
      app.getDaoPostSearchNew('api/FeijiuApp/Feijiu_Get_Business_DuXiangList_v2024', parame, (item) => {
        if (item.code == 200) {
          for (let list_item of item.data.data) {
            // 处理图片
            let phtots = util.getListArrWithStr(list_item.photo, '|')
            if (phtots.length) {
              list_item['photos'] = phtots[0]
            }
            // 处理关键字
            list_item['keywords'] = util.getListArrWithStr(list_item.keyword, ',')
            // 处理产品数量带有null
            list_item['pronum'] = util.nullwithStr(list_item.pronum)
            list_item['islx'] = util.nullwithStr(list_item.islx)
            list_item['isread'] = util.nullwithStr(list_item.isread)
            list_item['isdeal'] = util.nullwithStr(list_item.isdeal)
          }

          // 把重构的数组添加到原来的数据中
          let list = []
          if (lastID == '') {
            list = item.data.data
          } else {
            list = this.data.dataArray.concat(item.data.data)
          }
          // 判断数据有没有加载完成
          // (true,没加载完有一页，item.data.data.length有值)
          // false没有下一页，item.data.data.length没值
          let listMore = item.data.data.length
          // 获取最后一条数据的pid
          let pid = ''
          let lastItem = {}
          if (list.length) {
            pid = list[list.length - 1].pid;
            lastItem = list[list.length - 1]
          }

          this.setData({
            listMore: listMore,
            dataArray: list,
            isshow: item.data.isshow,
            kefudh: item.data.kftel,
            lastID: pid,
            lastItem: lastItem
          })
        } else {
          app.tishi(item.message)
        }
        wx.hideLoading()
      })
    },
    // 我联系过-获取列表
    getMyContent(page) {
      let parame = {
        loginuid: wx.getStorageSync('FjLoginLog').UID,
        // 1资产  2拍卖  3独享
        type: 3,
        intPageSize: 10,
        intPageCurrent: page,
        state: this.properties.myLianXiID
      }
      app.getDaoPostSearchNew('api/FeijiuApp/Feijiu_Get_Business_LinkList_v2024', parame, (item) => {
        if (item.code == 200) {
          for (let list_item of item.data.data) {
            // 处理图片
            let phtots = util.getListArrWithStr(list_item.photo, '|')
            if (phtots.length) {
              list_item['photos'] = phtots[0]
            }
            // 处理关键字
            list_item['keywords'] = util.getListArrWithStr(list_item.keyword, ',')
            // 处理产品数量带有null
            list_item['pronum'] = util.nullwithStr(list_item.pronum)
            list_item['isdeal'] = util.nullwithStr(list_item.isdeal)
          }
          // 把重构的数组添加到原来的数据中
          let list = []
          if (page == 1) {
            list = item.data.data
          } else {
            list = this.data.dataArray.concat(item.data.data)
          }
          // 处理页码
          let allPage = item.data.intPageCount
          if (page >= allPage) {
            // 不能加载更多了
            this.setData({
              morePage: false,
            })
          } else {
            // 有更多数据
            this.setData({
              morePage: true,
            })
          }
          this.setData({
            dataArray: list,
            isshow: item.data.isshow,
            kefudh: item.data.kftel
          })
        } else {
          app.tishi(item.message)
        }
        wx.hideLoading()
      })
    },

    // 下拉刷新
    bindrefresherrefresh() {
      console.log('下拉刷新了')
      this.triggerEvent("bageNumber", {});
      this.setData({
        // triggered: true,
        page: 1,
        lastID: ''
      })
      let typePage = this.properties.typePage
      if (typePage == 'list') {
        this.getDataListDx(this.data.lastID)
      } else {
        this.getMyContent(this.data.page)
      }
      setTimeout(() => {
        this.setData({
          triggered: false
        })
      }, 1000);

    },
    // cell点击
    didCellSeleteClick(e) {
      this.triggerEvent("bageNumber", {});
      let item = e.currentTarget.dataset.item
      let index = e.currentTarget.dataset.index
      // 进入详情，需要从未读(0)变成已读(1)
      item['isread'] = 1
      // 替换之前的数据
      let array = this.data.dataArray
      array[index] = item
      // 刷新界面
      this.setData({
        dataArray: array,
        curretItemIndex: index,
        curretItem: item
      })
      let that = this
      wx.navigateTo({
        url: '/pages/shengyi/detail/detail?id=' + item.dxid,
        events: {
          acceptDataFromOpenedPage: function (data) {
            let item = that.data.curretItem
            let index = that.data.curretItemIndex
            if (data.name == 'other') {
              // 0未标注   1成交   2不成交
              if (data.isdeal) {
                item['isdeal'] = data.isdeal
                // 替换之前的数据
                let array = that.data.dataArray
                array[index] = item
                // 刷新界面
                that.setData({
                  dataArray: array
                })
              }
              if (data.islx) {
                item['islx'] = data.islx
                // 替换之前的数据
                let array = that.data.dataArray
                array[index] = item
                // 刷新界面
                that.setData({
                  dataArray: array
                })
              }
              // 其它状态
            } else {
              // 不感兴趣
              let array = that.data.dataArray
              // 从当前数组中移除当前点击的item
              array.splice(that.data.curretItemIndex, 1);
              // 不感兴趣
              that.setData({
                dataArray: array,
              })
              that.triggerEvent("bageNumber", {});
            }
          },
        }
      })
    },
    // 立即联系
    ljlianxiClick(e) {
      this.setData({
        curretItemIndex: e.currentTarget.dataset.index,
        curretItem: e.currentTarget.dataset.item,
      })
      let parame = {
        loginuid: wx.getStorageSync('FjLoginLog').UID,
        dxid: e.currentTarget.dataset.item.dxid,
        platform_type: '4',
        loginupw: wx.getStorageSync('FjLoginLog').UPwd,
        doaction: '3',
      }
      app.getDaoPostSearchNew('api/FeijiuApp/Feijiu_Get_Business_DuXiangLink_v2024', parame, (item) => {
        if (item.code == 200) {
          var result = JSON.parse(app.aesDec(item.data.ZcInfo));
          console.log('result---', JSON.stringify(result))
          if (result.ErrNum == 111) {
            wx.hideLoading()
            // 需要再次弹框确认
            this.setData({
              showLx: true,
              errNum: result
            })
          } else if (result.ErrNum == 11 || result.ErrNum == 1) {
            wx.hideLoading()
            // 可以直接进行拨打
            this.callPhone(result.Mobile, result.ComPhone, result.otherways)
          } else {
            wx.hideLoading()
            // app.tishi('您没有权限查看该联系方式,了解更多请联系客服人员')
            wx.showModal({
              title: 'Feijiu网提示您',
              content: '对不起，您没有权限查看该公告，请您升级您的会员类型!',
              confirmText: '联系客服',
              complete: (res) => {
                if (res.confirm) {
                  wx.makePhoneCall({
                    phoneNumber: item.data.ServiceNum,
                  })
                }
              }
            })
          }
        } else {
          app.tishi(item.message)
        }

      })
    },
    // 拨打电话方法
    callPhone(phoneNumber, zuoji, other) {
      this.triggerEvent("bageNumber", {});
      let phone = ''
      if (phoneNumber) {
        phone = phoneNumber
      } else if (zuoji) {
        phone = zuoji
      } else if (other) {
        phone = '复制' + other
      } else {
        app.tishi('后台返回数据中3个电话字段都没有值')
        return
      }
      wx.showActionSheet({
        itemList: [phone],
        alertText: '拨打电话',
        success(res) {
          if (phone == '复制' + other) {
            wx.setClipboardData({
              data: other,
              success: () => {
                app.tishi('复制成功')
              }
            })
          } else {
            wx.makePhoneCall({
              phoneNumber: phone,
            })
          }

        },
      })
    },
    // 拨打电话弹框的回调按钮点击
    myevent(e) {
      // 无论点击取消还是点击立即联系都要取消弹框
      this.setData({
        showLx: false
      })
      if (e.detail.index == 0) {
        // 取消,此时不需要做任何操作!!!
      } else {
        // 点击了立即联系
        this.phoneCall()
      }
    },
    // 立即联系弹框回调扣除特权
    phoneCall() {
      let parame = {
        loginuid: wx.getStorageSync('FjLoginLog').UID,
        dxid: this.data.curretItem.dxid,
        platform_type: '4',
        loginupw: wx.getStorageSync('FjLoginLog').UPwd,
        doaction: '1'
      }
      app.getDaoPostSearchNew('api/FeijiuApp/Feijiu_Get_Business_DuXiangLink_v2024', parame, (item) => {
        if (item.code == 200) {
          var result = JSON.parse(app.aesDec(item.data.ZcInfo));
          if (result.ErrNum == 111) {
            app.tishi('result.ErrNum', result.ErrNum)
          } else if (result.ErrNum == 11 || result.ErrNum == 1) {
            wx.hideLoading()
            this.callPhone(result.Mobile, result.ComPhone, result.otherways)
            // 修改状态
            let item = this.data.curretItem
            let index = this.data.curretItemIndex
            // 立即联系立刻改变状态成1
            item['islx'] = 1
            item['isread'] = 1
            // 替换之前的数据
            let array = this.data.dataArray
            array[index] = item
            // 刷新界面
            this.setData({
              dataArray: array
            })
          } else {
            wx.hideLoading()
            // app.tishi('您没有权限查看该联系方式,了解更多请联系客服人员')
            wx.showModal({
              title: 'Feijiu网提示您',
              content: '对不起，您没有权限查看该公告，请您升级您的会员类型!',
              confirmText: '联系客服',
              complete: (res) => {
                if (res.confirm) {
                  wx.makePhoneCall({
                    phoneNumber: item.data.ServiceNum,
                  })
                }
              }
            })
          }

        } else {
          app.tishi(item.message)
        }
      })
    },
    // 不感兴趣点击按钮
    noInterestClick(e) {
      this.setData({
        noxingquShow: true,
        curretItem: e.currentTarget.dataset.item,
        curretItemIndex: e.currentTarget.dataset.index,
      })
    },
    // 不感兴趣的回调
    xingquSure(e) {
      wx.showLoading({
        title: '',
      })
      let parame = {
        platform_type: 4,
        //  1资产  2拍卖  3独享
        infotype: 3,
        loginuid: wx.getStorageSync('FjLoginLog').UID,
        // 生意的编号
        infoid: this.data.curretItem.dxid,
        // 拍卖信息code
        infocode: '',
        // 生意的发布时间
        infotime: this.data.curretItem.fbtime,
        // 原因：1、价格高，不赚钱    2、地区太远，不赚钱    3、量太少，不赚钱    4、不感兴趣
        reason_item: e.detail.idd,
      }
      app.getDaoPostSearchNew('api/FeijiuApp/Feijiu_Uninterested_BusinessInfo_v2024', parame, (item) => {
        if (item.code == 200) {
          // 获取当前item this.data.curretItem
          let array = this.data.dataArray
          // 从当前数组中移除当前点击的item
          array.splice(this.data.curretItemIndex, 1);
          this.setData({
            dataArray: array,
          })
          this.triggerEvent("bageNumber", {});
          wx.hideLoading()
        } else {
          app.tishi(item.message)
        }
      })
      this.setData({
        noxingquShow: false
      })
    },
    // 不感兴趣关闭
    closexqClick(e) {
      this.setData({
        noxingquShow: false,
        showBZ: false
      })
    },
    //标注按钮点击
    biaozhuClick(e) {
      this.setData({
        curretItemIndex: e.currentTarget.dataset.index,
        curretItem: e.currentTarget.dataset.item,
        showBZ: true,
      })
    },
    // 标注确定回调
    bzclick(e) {
      let dic = e.detail
      // 代表选中的是标注
      if (dic.index == 1) {
        // 顺利成交
        this.setData({
          showBZ: false
        })
        // 调用接口
        this.biaoZhuAip(dic.index, '0')
      } else {
        // 没有成交，弹出没有成交理由
        this.setData({
          showBZNo: true
        })
      }
    },
    // 没有标注回调
    nobzclick(e) {
      // 选中的是非标注，标注失败的原因
      // 选中原因以后得回调
      console.log('没有成交--调用接口', e.detail.index)
      this.biaoZhuAip(2, e.detail.index)
      this.setData({
        showBZ: false,
        showBZNo: false
      })
    },
    // 标注没有成交关闭
    closexqTwoClick() {
      this.setData({
        showBZNo: false
      })
    },
    // 标注接口调用()
    biaoZhuAip(isdeal, reason_item) {
      // 把当前的数据
      wx.showLoading({
        title: '',
      })
      let parame = {
        platform_type: 4,
        //  1资产  2拍卖  3独享
        infotype: 3,
        loginuid: wx.getStorageSync('FjLoginLog').UID,
        // 编号
        infoid: this.data.curretItem.dxid,
        // 1顺利成交   2没有成交
        isdeal: isdeal,
        // 原因：
        reason_item: reason_item,
      }
      app.getDaoPostSearchNew('api/FeijiuApp/Feijiu_Dimension_BusinessInfo_v2024', parame, (item) => {
        if (item.code == 200) {
          if (item.data.code == 2) {
            app.tishi(item.data.tip)
          } else {
            let item = this.data.curretItem
            let index = this.data.curretItemIndex
            // 0未标注   1成交   2不成交
            item['isdeal'] = isdeal
            // 替换之前的数据
            let array = this.data.dataArray
            array[index] = item
            // 刷新界面
            this.setData({
              dataArray: array
            })
            wx.hideLoading()
          }
        } else {
          app.tishi(item.message)
        }

      })
    },
    // 加载更多
    bindscrolltolower() {
      let typePage = this.properties.typePage
      if (typePage == 'list') {
        if (!this.data.listMore) {
          return
        }
        this.getDataListDx(this.data.lastID)
      } else {
        if (!this.data.morePage) {
          return
        }
        let newPage = this.data.page + 1
        this.setData({
          page: newPage
        })
        this.getMyContent(this.data.page)
      }
      console.log('加载更多了~~~')
    },
    lxkf() {
      
      let parame = {
        platform_type : 4, // 4是小程序，3是app
        loginuid: wx.getStorageSync('FjLoginLog').UID,
        loginutel: wx.getStorageSync('FjLoginLog').Mobile,
      }
      // 这个接口就是为了后台记录一下，并不需要在返回数据中做处理
      app.getDaoPostSearchNew('api/FeijiuApp/Feijiu_Add_Business_ByTel', parame, (item) => {})
      wx.makePhoneCall({
        phoneNumber: this.data.kefudh,
      })

    },

  }
})